/*
 * LineMoveChess.h
 *
 *  Created on: 2011-7-31
 *      Author: Administrator
 */

#ifndef LINEMOVECHESS_H_
#define LINEMOVECHESS_H_
#include "Chess.h"
class LineMoveChess:public Chess {
public:
	LineMoveChess();
	virtual ~LineMoveChess();
	virtual void GenActions(std::vector<Action>& actions,Position& pos,SituationProjection& projection);
protected:
	virtual void GenUpAction(std::vector<Action>& actions,Position& pos,SituationProjection& projection);
	virtual void GenDownAction(std::vector<Action>& actions,Position& pos,SituationProjection& projection);
	virtual void GenLeftAction(std::vector<Action>& actions,Position& pos,SituationProjection& projection);
	virtual void GenRightAction(std::vector<Action>& actions,Position& pos,SituationProjection& projection);
};

#endif /* LINEMOVECHESS_H_ */
